﻿Imports System.Text
Module Module1
  Sub Main()

    Dim sb As New StringBuilder("abcd")
    Dim stringa1 As [String] = "abcd"
    Dim stringa2 As [String] = Nothing
    Dim oggetto As [Object] = Nothing
    Dim NL As String = Environment.NewLine
    Dim messaggio As String = ""
    messaggio &= " *  Il valore della " & _
        "String 'stringa1' è " & stringa1
    messaggio &= NL
    messaggio &= " *  Il valore dello " & _
        "StringBuilder 'sb' è " & _
        sb.ToString()
    messaggio &= NL

    messaggio &= "1a) String." & _
        "Equals(Object). Object è uno " & _
        "StringBuilder, non uno String."
    messaggio &= NL
    messaggio &= "    'stringa1' è " & _
        "uguale a 'sb'?: " & _
        stringa1.Equals(sb)
    messaggio &= NL

    messaggio &= "1b) String." & _
        "Equals(Object). Object " & _
        "è una String."
    messaggio &= NL
    stringa2 = sb.ToString()
    oggetto = stringa2
    messaggio &= " *  Il valore di " & _
        "Object 'oggetto' è " & _
        oggetto.ToString
    messaggio &= NL
    messaggio &= "    'stringa1' " & _
        "è uguale a 'oggetto'?: " & _
        stringa1.Equals(oggetto)
    messaggio &= NL

    messaggio &= " 2) String.Equals(String)"
    messaggio &= NL
    messaggio &= " *  Il valore della " & _
        "String 'stringa2' è " & stringa2
    messaggio &= NL
    messaggio &= "    'stringa1' è " & _
        "uguale a 'stringa2'?: " & _
        stringa1.Equals(stringa2)
    messaggio &= NL

    messaggio &= " 3) String.Equals" & _
        "(String, String)"
    messaggio &= NL
    messaggio &= "    'stringa1' è " & _
        "uguale a 'stringa2'?: " & _
        [String].Equals(stringa1, stringa2)
    messaggio &= NL

    Console.WriteLine(messaggio)
    Console.ReadLine()

  End Sub
End Module
